Next | Prev | Up | Top | Contents | Index

Frame Scheduling

Instead of scheduling processes according to priorities with an attempt at fairness, the Frame Scheduler dispatches them according to a strict, cyclic rotation governed by a repetitive time base. The time base determines the fundamental frame rate. (See "Selecting a Time Base".)

The interrupts from the time base define minor frames. You tell the Frame Scheduler a fixed number of minor frames that should be considered a major frame. The length of a major frame defines the application's true frame rate. The minor frames allow you to divide a major frame into sub-frames. Major and minor frames are depicted in Figure 7-1.

Figure 7-1 : Major and Minor Frames As pictured in Figure 7-1, the Frame Scheduler maintains a queue of processes for each minor frame. You enqueue each activity processes of your program to a specific minor frame. You determine the order of cyclic execution within a minor frame by the order in which you enqueue processes. You can:

All these options are controlled by scheduling disciplines you specify for each process as you enqueue it (see "Using the Scheduling Disciplines").

The processes that a Frame Scheduler dispatches are typically child processes of the process that creates the Frame Scheduler, but that is not a requirement. Any process can be enqueued, even one that starts execution as a separate command.


The FRS Control Process

The process that creates a Frame Scheduler is called the frs control process. It is privileged in three respects:


Next | Prev | Up | Top | Contents | Index